package domain;

import java.util.Date;
import java.util.List;

public class Sample {

	public static void main(String[] args) {

		/////////////////////////////////
		//     Registrar usuarios
		/////////////////////////////////
		
		Usuario foo = new Usuario("user", "1234"); 
		Usuario foo2 = new Usuario("user2", "12345"); 
		foo = UsuarioDAO.entrarCon(foo);
		foo2 = UsuarioDAO.entrarCon(foo2);


		////////////////////////////////////////////
		// Publicar una subasta y una VentaDirecta
		////////////////////////////////////////////
		
		Subasta s = new Subasta(foo, "cucumber", "pepinos", 100, new Date());
		UsuarioDAO.publicar(s);
		
		VentaDirecta v = new VentaDirecta(foo, "candy", "caramelos", 100);
		UsuarioDAO.publicar(v);
		
		
		////////////////////////////////////////////////////
		// Ofertar publicaciones (Subasta y VentaDirecta)
		////////////////////////////////////////////////////
		
		UsuarioDAO.ofertar(foo, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		
		UsuarioDAO.ofertar(foo2, v);
		UsuarioDAO.ofertar(foo2, s);
		UsuarioDAO.ofertar(foo2, s);
		
		//////////////////////////////////////
		// Ver publicaciones de los usuarios
		//////////////////////////////////////
		
		verPublicacionesDe(foo);
		verPublicacionesDe(foo2);
		
	}
	
	private static void verPublicacionesDe(Usuario user) {
		System.out.println("LISTA DE PUBLICACIONES de "+ user.getUsername());
		
		List<Publicacion> result = UsuarioDAO.getPublicaciones(user);
		
		if(result.isEmpty()) {
			System.out.println("Todavia no publicaste nada");
		} else {
			System.out.println(" __________________________________________");
			System.out.println("|       NOMBRE       |     DESCRIPCION    |");
			System.out.println("|____________________|____________________|");
			for(Publicacion p : result) {
				System.out.println("|"+ centrarRow(p.getNombre(), 20) +"|"+ centrarRow(p.getDescripcion(), 20) +"|");
			}
			System.out.println("|____________________|____________________|");
		}
	}
	
	private static String centrarRow(String text, Integer columnSize) {
		while(text.length() < columnSize) {
			text = " "+ text;
			if(text.length() < columnSize) {
				text = text +" ";
			}
		}
		return text;
	}
}
